﻿using System;
using System.Collections.Generic;
using HAVNet.Core.String;


namespace HAVNet.Intros.AST
{
    public class ASTStatementExpressions : List<ASTStatementExpression>
    {
        public override string ToString()
        {
            return Strings.joinobjs(", ", this);
        }
    }

    public class ASTStatementExpression : ASTStatement
    {
        public ASTExprUnary unary   { get; set; }
        public string       sop     { get; set; }   // posible assignment operator :)
        public ASTExpr      expr    { get; set; }   // posible expression

        public override string ToString ()
        {
            if (expr != null) // es asignación
            {
                return unary + sop + expr;
            }
            else if (unary == null) // esto se puede dar cuando hay un ; solito
            {
                return ""; 
            }
            else // no es asignación
            {
                return unary.ToString();
            }
        }
    }
}
